package com.arong.rabbitMQDemo.single;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.nio.charset.StandardCharsets;

// 实现消息发送功能
public class SingleProducer {

    // 要发送的队列名称
    private final static String QUEUE_NAME = "hello";

    public static void main(String[] argv) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        try(Connection connection = factory.newConnection();
            Channel channel = connection.createChannel()) {
            /**
             * queueName：消息队列名称
             * durable：消息队列重启后，消息是否丢失
             * exclusive：是否允许这个连接操作消息队列
             * autoDelete：没有人使用后，是否删除队列
             */
            channel.queueDeclare(QUEUE_NAME, false, false, false, null);
            String message = "Hello World";
            channel.basicPublish("", QUEUE_NAME, null, message.getBytes(StandardCharsets.UTF_8));
            System.out.println("[X] Sent '" + message + "'");
        }
    }
}
